import { NgModule, Type } from '@angular/core';
import { G2CardModule } from '@delon/chart/card';
import { NumberInfoModule } from '@delon/chart/number-info';
import { G2TimelineModule } from '@delon/chart/timeline';
import { TrendModule } from '@delon/chart/trend';
// eslint-disable-next-line import/order
import { SharedModule } from '@shared';

// dashboard pages
import { NzDatePickerModule } from 'ng-zorro-antd/date-picker';
import { NzRadioModule } from 'ng-zorro-antd/radio';

import { DashboardComponent } from './dashboard/dashboard.component';
// single pages
import { CallbackComponent } from './passport/callback.component';
import { UserLockComponent } from './passport/lock/lock.component';
// passport pages
import { UserLoginComponent } from './passport/login/login.component';
import { RouteRoutingModule } from './routes-routing.module';
import { NzCascaderModule } from "ng-zorro-antd/cascader";

const COMPONENTS: Array<Type<void>> = [
  DashboardComponent,
  // passport pages
  UserLoginComponent,
  // single pages
  CallbackComponent,
  UserLockComponent
];

@NgModule({
  imports: [
    SharedModule,
    RouteRoutingModule,
    NzRadioModule,
    NzDatePickerModule,
    G2TimelineModule,
    G2CardModule,
    TrendModule,
    NumberInfoModule,
    NzCascaderModule
  ],
  declarations: COMPONENTS
})
export class RoutesModule {}
